package com.xbzl.cly_demo.vo;

import java.math.BigDecimal;

public class VehicleStatusVO {

    private String vehicleVin;
    private Double velocityGnss;
    private BigDecimal longitude;
    private BigDecimal latitude;
    private Double heading;
    private Double accelerationLon;
    private Double accelerationLat;
    private Integer yawRate;
    private Integer accelPos;
    private Integer engineSpeed;
    private Integer engineTorque;
    private Integer brakeFlag;
    private Integer brakePos;
    private Integer brakePressure;
    private Integer fuelConsumption;

    public VehicleStatusVO() {
    }

    public String getVehicleVin() {
        return vehicleVin;
    }

    public void setVehicleVin(String vehicleVin) {
        this.vehicleVin = vehicleVin;
    }

    public Double getVelocityGnss() {
        return velocityGnss;
    }

    public void setVelocityGnss(Double velocityGnss) {
        this.velocityGnss = velocityGnss;
    }

    public BigDecimal getLongitude() {
        return longitude;
    }

    public void setLongitude(BigDecimal longitude) {
        this.longitude = longitude;
    }

    public BigDecimal getLatitude() {
        return latitude;
    }

    public void setLatitude(BigDecimal latitude) {
        this.latitude = latitude;
    }

    public Double getHeading() {
        return heading;
    }

    public void setHeading(Double heading) {
        this.heading = heading;
    }

    public Double getAccelerationLon() {
        return accelerationLon;
    }

    public void setAccelerationLon(Double accelerationLon) {
        this.accelerationLon = accelerationLon;
    }

    public Double getAccelerationLat() {
        return accelerationLat;
    }

    public void setAccelerationLat(Double accelerationLat) {
        this.accelerationLat = accelerationLat;
    }

    public Integer getYawRate() {
        return yawRate;
    }

    public void setYawRate(Integer yawRate) {
        this.yawRate = yawRate;
    }

    public Integer getAccelPos() {
        return accelPos;
    }

    public void setAccelPos(Integer accelPos) {
        this.accelPos = accelPos;
    }

    public Integer getEngineSpeed() {
        return engineSpeed;
    }

    public void setEngineSpeed(Integer engineSpeed) {
        this.engineSpeed = engineSpeed;
    }

    public Integer getEngineTorque() {
        return engineTorque;
    }

    public void setEngineTorque(Integer engineTorque) {
        this.engineTorque = engineTorque;
    }

    public Integer getBrakeFlag() {
        return brakeFlag;
    }

    public void setBrakeFlag(Integer brakeFlag) {
        this.brakeFlag = brakeFlag;
    }

    public Integer getBrakePos() {
        return brakePos;
    }

    public void setBrakePos(Integer brakePos) {
        this.brakePos = brakePos;
    }

    public Integer getBrakePressure() {
        return brakePressure;
    }

    public void setBrakePressure(Integer brakePressure) {
        this.brakePressure = brakePressure;
    }

    public Integer getFuelConsumption() {
        return fuelConsumption;
    }

    public void setFuelConsumption(Integer fuelConsumption) {
        this.fuelConsumption = fuelConsumption;
    }

    @Override
    public String toString() {
        return "VehicleStatusVO{" +
                "vehicleVin='" + vehicleVin + '\'' +
                ", velocityGnss=" + velocityGnss +
                ", longitude=" + longitude +
                ", latitude=" + latitude +
                ", heading=" + heading +
                ", accelerationLon=" + accelerationLon +
                ", accelerationLat=" + accelerationLat +
                ", yawRate=" + yawRate +
                ", accelPos=" + accelPos +
                ", engineSpeed=" + engineSpeed +
                ", engineTorque=" + engineTorque +
                ", brakeFlag=" + brakeFlag +
                ", brakePos=" + brakePos +
                ", brakePressure=" + brakePressure +
                ", fuelConsumption=" + fuelConsumption +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof VehicleStatusVO)) return false;

        VehicleStatusVO that = (VehicleStatusVO) o;

        if (vehicleVin != null ? !vehicleVin.equals(that.vehicleVin) : that.vehicleVin != null) return false;
        if (velocityGnss != null ? !velocityGnss.equals(that.velocityGnss) : that.velocityGnss != null) return false;
        if (longitude != null ? !longitude.equals(that.longitude) : that.longitude != null) return false;
        if (latitude != null ? !latitude.equals(that.latitude) : that.latitude != null) return false;
        if (heading != null ? !heading.equals(that.heading) : that.heading != null) return false;
        if (accelerationLon != null ? !accelerationLon.equals(that.accelerationLon) : that.accelerationLon != null)
            return false;
        if (accelerationLat != null ? !accelerationLat.equals(that.accelerationLat) : that.accelerationLat != null)
            return false;
        if (yawRate != null ? !yawRate.equals(that.yawRate) : that.yawRate != null) return false;
        if (accelPos != null ? !accelPos.equals(that.accelPos) : that.accelPos != null) return false;
        if (engineSpeed != null ? !engineSpeed.equals(that.engineSpeed) : that.engineSpeed != null) return false;
        if (engineTorque != null ? !engineTorque.equals(that.engineTorque) : that.engineTorque != null) return false;
        if (brakeFlag != null ? !brakeFlag.equals(that.brakeFlag) : that.brakeFlag != null) return false;
        if (brakePos != null ? !brakePos.equals(that.brakePos) : that.brakePos != null) return false;
        if (brakePressure != null ? !brakePressure.equals(that.brakePressure) : that.brakePressure != null)
            return false;
        return fuelConsumption != null ? fuelConsumption.equals(that.fuelConsumption) : that.fuelConsumption == null;
    }

    @Override
    public int hashCode() {
        int result = vehicleVin != null ? vehicleVin.hashCode() : 0;
        result = 31 * result + (velocityGnss != null ? velocityGnss.hashCode() : 0);
        result = 31 * result + (longitude != null ? longitude.hashCode() : 0);
        result = 31 * result + (latitude != null ? latitude.hashCode() : 0);
        result = 31 * result + (heading != null ? heading.hashCode() : 0);
        result = 31 * result + (accelerationLon != null ? accelerationLon.hashCode() : 0);
        result = 31 * result + (accelerationLat != null ? accelerationLat.hashCode() : 0);
        result = 31 * result + (yawRate != null ? yawRate.hashCode() : 0);
        result = 31 * result + (accelPos != null ? accelPos.hashCode() : 0);
        result = 31 * result + (engineSpeed != null ? engineSpeed.hashCode() : 0);
        result = 31 * result + (engineTorque != null ? engineTorque.hashCode() : 0);
        result = 31 * result + (brakeFlag != null ? brakeFlag.hashCode() : 0);
        result = 31 * result + (brakePos != null ? brakePos.hashCode() : 0);
        result = 31 * result + (brakePressure != null ? brakePressure.hashCode() : 0);
        result = 31 * result + (fuelConsumption != null ? fuelConsumption.hashCode() : 0);
        return result;
    }
}
